iT邦幫忙

2021 iThome 鐵人賽

0
自我挑戰組

Scratch 3 從入門到精通系列 第 36

Day36 ( 遊戲設計 ) 釣魚遊戲

  • 分享至 

  • xImage
  •  

釣魚遊戲

教學原文參考:釣魚遊戲

這篇文章會介紹,如何在 Scratch 3 裡使用多個角色、函式、變數、重複、按下滑鼠、建立分身...等積木,實作一個水底有魚游來游去,可以使用滑鼠釣魚的小遊戲。

相關文章參考:函式變數重複按下滑鼠建立分身

角色設定

在角色編輯區,刪除貓咪角色,加入「魚」的角色 ( 參考:Scratch 角色設定 )。

Scratch 3 教學 - 釣魚遊戲

使用「繪畫」功能繪製一個空白的新的角色,命名為「釣魚線」 ( 參考:造型與繪圖 )。

因為釣魚線角色會使用「畫筆」畫出釣魚線,所以只需要一個完全空白的角色。

Scratch 3 教學 - 釣魚遊戲

使用「上傳」功能,上傳一個「魚鉤」的新角色,命名為「魚鉤」。

魚鉤 SVG 圖片:下載網址

Scratch 3 教學 - 釣魚遊戲

點選「魚鉤」角色,切換到「造型」頁籤,使用「選取」工具,將魚鉤的末端,對齊畫布的中心點 ( 魚鉤旋轉時,才會以末端為中心點旋轉 )

Scratch 3 教學 - 釣魚遊戲

將舞台背景換成水底世界的圖案,就能看到魚鉤和魚出現在水底 ( 調整魚鉤的大小如下圖的魚鉤尺寸 )。

Scratch 3 教學 - 釣魚遊戲

積木程式原理 ( 魚鉤 )

點擊「魚鉤」角色,在綠旗被點擊時,使用重複無限次積木,讓魚鉤定位在舞台正上方 ( 0, 180 ),不斷朝著滑鼠方向旋轉 ( 指向滑鼠方向 )。

Scratch 3 教學 - 釣魚遊戲

加入重複無限次積木,編輯滑鼠點擊時,放下魚鉤釣魚的動作:

  • 新增一個 my 變數。
  • 當按下滑鼠時,將 my 變數的數值設定為滑鼠的 y 座標。
  • 使用重複積木,不斷重複往按下滑鼠的座標移動 10 點
  • 直到魚鉤的 y 座標大於按下滑鼠的 y 座標 ( my 的數值 ),或碰到魚的角色 ( 釣到魚 ) 為止
  • 放下魚鉤的重複動作停止後,接著使用另外一個重複積木,每次重複往反方向移動 ( 收回魚鉤 )
  • 直到魚鉤抵達最上方為止 ( 使用 175 可以避免超過最上方又反彈回來 )。

Scratch 3 教學 - 釣魚遊戲

為了告訴釣魚線角色魚鉤的位置,所以新增 x 和 y 兩個變數,記錄魚鉤在角色移動時的座標數值

Scratch 3 教學 - 釣魚遊戲

完成後,點擊綠旗,在舞台上點擊滑鼠,魚鉤就會朝向滑鼠的方向移動,移動到點擊的位置後,就會移動回原本的位置。

Scratch 3 教學 - 釣魚遊戲

積木程式原理 ( 釣魚線 )

點擊「釣魚線」角色,編輯點擊綠旗時的動作:

  • 設定畫筆粗細為 2,顏色設定為黑色。
  • 使用重複無限次積木,每次重複執行:
    • 清除舞台筆跡。
    • 定位到魚鉤出發的位置 (0, 180)
    • 下筆。
    • 定位到魚鉤目前的位置 (x, y)
    • 停筆。

Scratch 3 教學 - 釣魚遊戲

完成後,點擊綠旗,在舞台上點擊滑鼠,魚鉤就會朝向滑鼠的方向移動,後方也會出現一條黑色的釣魚線。

Scratch 3 教學 - 釣魚遊戲

積木程式原理 ( 魚 )

點擊「魚」角色,編輯點擊綠旗的動作:

  • 新增一個變數 ok,設定為 0,表示還沒有釣到魚
  • 隱藏本尊
  • 使用重複四次積木,建立四個分身。
  • 每次重複將尺寸、定位設定為隨機數 ( 定位設定在舞台下方的隨機數 )
  • 每次重複將造型換成下一個。

Scratch 3 教學 - 釣魚遊戲

為了讓每個分身移動的速度不同,新增一個名為「魚游泳」的函式,加入「速度」參數

Scratch 3 教學 - 釣魚遊戲

編輯魚游泳的函式:

  • 設定迴轉方式為「左-右」,避免上下顛倒。
  • 使用重複無限次積木。
  • 每次重複時,如果碰到魚鉤,且 ok 為 0 ( 表示魚鉤上沒有魚 )
    • 將變數 ok 設定為 1 ( 表示魚鉤上有魚 )
    • 使用重複積木,將魚定位在魚鉤的位置 ( 跟隨魚鉤移動 ),直到抵達舞台頂端為止。
    • 抵達舞台頂端後,將 ok 設定為 0,刪除分身
  • 如果沒有碰到魚鉤,或魚鉤上有魚。
    • 根據速度參數移動,設定撞到邊緣就反彈。

Scratch 3 教學 - 釣魚遊戲

設定當魚的分身產生時,顯示分身,執行魚游泳的函式。

Scratch 3 教學 - 釣魚遊戲

完成效果

完成後,點擊綠旗,就可以開始進行釣魚的小遊戲。

Scratch 3 教學 - 釣魚遊戲

範例解答

範例解答:釣魚遊戲

延伸練習

如果已經熟悉了釣魚遊戲的原理,還可以嘗試更多好玩的作法:

  • 修改程式,讓釣到魚之後,讓水中永遠保持四條魚,並加入計分的機制 ( 解答 )

關於我

大家好,我是 OXXO,是個即將邁入中年的斜槓青年,如果對我有點興趣(笑,可以與我聯繫,一起來做點有玩又有創意的東西吧!


上一篇
Day35 ( 遊戲設計 ) 猜數字 ( 幾 A 幾 B )
下一篇
Day37 ( 遊戲設計 ) 台灣地圖拼圖
系列文
Scratch 3 從入門到精通46
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言